/*
* note.js 封装与 note 有关的脚本
*/
function listNotesAction(){
	//$(this) 是 li对象, 就是被点击的li对象
	//获取显示时候绑定的序号index
	//console.log($(this));
	var index = $(this).data('index');
	
	//将选定的笔记本Index保存到model中
	model.notebookIndex=index;
	
	//设置选中笔记本的效果
	$('#notebooks li a').removeClass('checked');
	$(this).find('a').addClass('checked');
	
	//console.log(index);
	//console.log("listNotesAction");
	//console.log(model.notebooks);
	var id=model.notebooks[index].id;
	var url='note/list.do';
	var param = {notebookId:id};
	//console.log(param);
	$.getJSON(url, param, function(result){
		if(result.state==SUCCESS){
			var notes=result.data;
			//console.log(notes);
			model.updateNotesView(notes);
		}else{
			alert(result.message);
		}
	});
}
//更新界面, 在界面中显示笔记列表信息
model.updateNotesView = function(notes){
	//console.log('updateNotesView'); 
	//给模型中增加新属性, 存储当前笔记列表
	//arguments.length!=0
	if(notes){
		this.notes=notes;
	}
	//遍历笔记数组, 将笔记列表显示到界面
	var template='<li class="online">'+
			'<a>'+
				'<i class="fa fa-file-text-o" title="online" rel="tooltip-bottom"></i>'+
				'#{title}<button type="button" class="btn btn-default btn-xs btn_position btn_slide_down"><i class="fa fa-chevron-down"></i></button>'+
			'</a>'+
			'<div class="note_menu" tabindex="-1">'+
				'<dl>'+
					'<dt><button type="button" class="btn btn-default btn-xs btn_move" title="移动至..."><i class="fa fa-random"></i></button></dt>'+
					'<dt><button type="button" class="btn btn-default btn-xs btn_share" title="分享"><i class="fa fa-sitemap"></i></button></dt>'+
					'<dt><button type="button" class="btn btn-default btn-xs btn_delete" title="删除"><i class="fa fa-times"></i></button></dt>'+
				'</dl>'+
			'</div>'+
		'</li>';
	var ul = $('#notes').empty();
	for(var i=0; i<this.notes.length; i++){
		var note=this.notes[i];
		var li=$(template.replace(
			'#{title}', note.title));
		//绑定序号到 li 
		li.data('index', i);
		//添加选定效果
		if(model.noteIndex==i){
			li.find('a').addClass('checked');
		}
		
		ul.append(li);
	}
};
//note.js
function getNoteAction(){
	//console.log('getNoteAction'); 
	var li=$(this);
	//获取绑定到li上的序号
	var index = li.data('index');
	//console.log(index);
	
	//保存笔记的index 到model中
	model.noteIndex = index;
	
	$('#notes li a').removeClass('checked');
	li.find('a').addClass('checked');
	
	var id = model.notes[index].id;
	var url = 'note/get.do';
	var param = {noteId:id};
	//console.log(param);
	$.getJSON(url, param, function(result){
		if(result.state==SUCCESS){
			var note = result.data;
			//console.log(note);
			model.updateNote(note);
		}else{
			alert(result.message);
		}
	});
}

model.updateNote = function(note){
	//将笔记的详细信息存储到 model中
	this.note = note;
	
	//将笔记的信息显示到界面中
	$('#input_note_title').val(
		this.note.title);
	um.setContent(this.note.body);
};

//note.js
function saveNoteAction(){
	//console.log('saveNoteAction');
	var url="note/save.do";
	var note = model.note;
	var title=$('#input_note_title').val();
	var body = um.getContent();
	if(note.title==title &&
			note.body==body){
		//如果没有修改就不保存任何内容了
		return;
	}
	//console.log(model.note);
	var param={id: model.note.id ,
			title:title,
			body:body};
	//console.log(param);
	$('#save_note')
		.attr('disabled','disabled')
		.html('保存中...');
	$.post(url, param, function(result){
		setTimeout(function(){
			$('#save_note')
			.removeAttr('disabled')
			.html('保存笔记');	
		}, 2000);
		if(result.state==SUCCESS){
			//console.log(result.data);
			if(result.data){
				//更新 model 中的旧笔记信息
				model.note.title=title;
				model.note.body=body;
				//更改笔记本列表中的笔记title
				model.notes[model.noteIndex]
					.title=title;
				//更新笔记列表区域
				model.updateNotesView();
			}
		}else{
			alert(result.message);
		}
	});
}

function addNoteAction(){
	//console.log('addNoteAction');
	var url='note/add.do';
	var notebookId=
	model.notebooks[model.notebookIndex].id;
	var param = {
		notebookId: notebookId,
		userId: getCookie('userId'),
		title: $('#input_note').val()
	};
	
	var btn=$(this).attr('disabled','disabled')
		.html('创建中...');
	$.post(url, param, function(result){
		if(result.state==SUCCESS){
			var note = result.data;
			//console.log(title);
			//在数组的第一个位置插入新笔记
			model.notes.unshift(
				{id:note.id, title:note.title});
			model.noteIndex=0;
			//更新笔记编辑区域
			model.updateNote(note);
			//更新笔记列表区域
			model.updateNotesView();
			
			setTimeout(function(){
				btn.removeAttr('disabled').
					html('创建');
				closeAction();
			},1000);
		}else{
			alert(result.message);
		}
	});
}

function deleteNoteAction(){
	console.log('deleteNoteAction');
}











